Presenting content in wagering game systems

ABSTRACT

A wagering game system and its operations are described herein. In some embodiments, the operations can include coordinating presentation of media in a plurality of browsers of one or more wagering game machines. The operations can include subscribing a first browser and a second browser of a wagering game machine to a communication channel; presenting media for a wagering game in the first browser of the wagering game machine; requesting a result for the wagering game; presenting media for the wagering game result in the first browser; and determining that the wagering game result triggers a bonus game in the second browser. The operations can also include notifying the second browser of the wagering game machine of the bonus game trigger via the communication channel to cause the second browser to present media for the bonus game.

RELATED APPLICATIONS

This application claims the priority benefit of U.S. ProvisionalApplication Ser. No. 61/114,121 filed Nov. 13, 2008.

LIMITED COPYRIGHT WAIVER

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patentdisclosure, as it appears in the Patent and Trademark Office patentfiles or records, but otherwise reserves all copyright rightswhatsoever. Copyright 2009, WMS Gaming, Inc.

FIELD

Embodiments of the inventive subject matter relate generally to wageringgame systems, and more particularly to presenting content in wageringgame systems.

BACKGROUND

Wagering game machines, such as slot machines, video poker machines andthe like, have been a cornerstone of the gaming industry for severalyears. Generally, the popularity of such machines depends on thelikelihood (or perceived likelihood) of winning money at the machine andthe intrinsic entertainment value of the machine relative to otheravailable gaming options. Where the available gaming options include anumber of competing wagering game machines and the expectation ofwinning at each machine is roughly the same (or believed to be thesame), players are likely to be attracted to the most entertaining andexciting machines. Shrewd operators consequently strive to employ themost entertaining and exciting machines, features, and enhancementsavailable because such machines attract frequent play and hence increaseprofitability to the operator. Therefore, there is a continuing need forwagering game machine manufacturers to continuously develop new gamesand gaming enhancements that will attract frequent play.

SUMMARY

In some embodiments, a computer-implemented method for coordinatingpresentation of media in a plurality of browsers of one or more wageringgame machines comprises subscribing a first browser and a second browserof a first wagering game machine to a communication channel; presentingmedia for a wagering game in the first browser of the first wageringgame machine; requesting a result for the wagering game; presentingmedia for the wagering game result in the first browser; determiningthat the wagering game result triggers a bonus game in the secondbrowser; and notifying the second browser of the first wagering gamemachine of the bonus game trigger via the communication channel to causethe second browser to present media for the bonus game.

In some embodiments, said subscribing the first and second browsers ofthe first wagering game machine to the communication channel comprisessubscribing the first and second browsers to a remote shared object of aremote server to establish the communication channel for the first andsecond browsers.

In some embodiments, said notifying the second browser comprises callingthe remote shared object of the remote server to cause the remote serverto broadcast a bonus game trigger notification message to the secondbrowser via the communication channel and the second browser to presentmedia for the bonus game.

In some embodiments, said subscribing the first and second browsers tothe remote shared object of the remote server comprises subscribing afirst browser application, including a first browser plug-in, used topresent media in a first display device of the first wagering gamemachine to the remote shared object, and subscribing a second browserapplication, including a second browser plug-in, used to present mediain a second display device of the first wagering game machine to theremote shared object.

In some embodiments, the method further comprises subscribing the firstand second browsers of the first wagering game machine to a secondcommunication channel also subscribed to by a first browser and a secondbrowser of one or more additional wagering game machines; presentingmedia for a wagering game in the first browser of the first wageringgame machine; requesting a result for the wagering game; presentingmedia for the wagering game result in the first browser; determiningthat the wagering game result triggers a bonus game in the secondbrowser of the first wagering game machine and in the second browser ofthe one or more additional wagering game machines; and notifying thesecond browser of the first wagering game machine and the second browserof the one or more additional wagering game machines of the bonus gametrigger via the second communication channel to cause the second browserof the first wagering game machine and the second browser of the one ormore additional wagering game machines to present media for the bonusgame.

In some embodiments, said subscribing the first and second browsers ofthe first wagering game machine to the second communication channelcomprises subscribing the first and second browsers of the firstwagering game machine to a second remote shared object of a remoteserver also subscribed to by the first and second browsers of the one ormore additional wagering game machines to establish the secondcommunication channel for the first and second browsers of the firstwagering game machine and the first and second browsers of the one ormore additional wagering game machines.

In some embodiments, the method further comprises notifying a browser ofan online wagering game machine, subscribed to the communicationchannel, of the bonus game trigger via a community server associatedwith the online wagering game machine to cause the browser of the onlinewagering game machine to present media for the bonus game.

In some embodiments, a wagering game machine comprises a mediapresentation unit configured to subscribe a first browser and a secondbrowser of the wagering game machine to a communication channel managedby a remote server, and to present media for a wagering game in thefirst browser of the wagering game machine. The media presentation unitcan also request a result for the wagering game from the remote server,present media for the wagering game result in the first browser. Thewagering game machine can also include and an event management unitconfigured to determine that the wagering game result triggers a bonusgame in the second browser, and to notify the second browser of thewagering game machine of the bonus game trigger via the communicationchannel to cause the second browser to present media for the bonus game.

In some embodiments, the media presentation unit is configured tosubscribe the first and second browsers to a remote shared object at theremote server to establish the communication channel for the first andsecond browsers.

In some embodiments, the event management unit is configured to notifythe second browser by calling the remote shared object of the remoteserver to cause the remote server to broadcast a bonus game triggernotification message to the second browser via the communication channeland the second browser to present media for the bonus game.

In some embodiments, the media presentation unit is configured tosubscribe the first browser, including a first browser plug-in used topresent media in a first display device of the first wagering gamemachine, to the remote shared object, and to subscribe the secondbrowser, including a second browser plug-in, used to present media in asecond display device of the first wagering game machine, to the remoteshared object.

In some embodiments, an apparatus for managing communications between aplurality of wagering game machines in a network to coordinatepresentation of media between a plurality of browsers of the wageringgame machines comprises means for detecting subscription requests for acommunication channel from a plurality of browsers of a plurality ofwagering game machines; means for granting the subscription requests forthe communication channel; means for detecting a game event triggernotification message from one of the plurality of browsers of a firstwagering game machine of the plurality of wagering game machines; andmeans for broadcasting the game event trigger notification message tothe plurality of browsers of the plurality of wagering game machines tocause one the browsers of each of the wagering game machines to presentmedia associated with a game event detected in the first wagering gamemachine.

In some embodiments, said means for granting the subscription requestsfor the communication channel comprises means for subscribing theplurality of browsers of the plurality of wagering game machines to aremote shared object to establish the communication channel for thebrowsers of the wagering game machines.

In some embodiments, the media associated with the game event comprisesa media presentation for a bonus game or a media presentation for aprogressive jackpot celebration.

In some embodiments, the apparatus further comprises means for detectinga game event trigger notification message from one of the plurality ofbrowsers of a second wagering game machine of the plurality of wageringgame machines; and means for broadcasting the game event triggernotification message to the plurality of browsers of the plurality ofwagering game machines to cause one the browsers of each of the wageringgame machines to present media associated with a game event detected inthe second wagering game machine.

Some embodiments include a computer-implemented method for coordinatingpresentation of media in a plurality of browsers of a plurality ofwagering game machines in a network. The method comprises subscribing afirst browser and a second browser of a first wagering game machine to acommunication channel also subscribed to by a first browser and a secondbrowser of one or more additional wagering game machines, thecommunication channel being managed by a remote server; presenting mediafor a wagering game in the first browser of the first wagering gamemachine; requesting a result for the wagering game from the remoteserver; presenting media for the wagering game result in the firstbrowser; determining that the wagering game result triggers a mediapresentation of game-related content in the second browser of the firstwagering game machine and the second browser of the one or moreadditional wagering game machines; and notifying the second browser ofthe first wagering game machine and the second browser of the one ormore additional wagering game machines of the media presentation triggervia the communication channel to cause the second browser of the firstwagering game machine and the second browser of the one or moreadditional wagering game machines to present media for the game-relatedcontent.

In some embodiments, said subscribing the first and second browsers ofthe first wagering game machine to the communication channel comprisessubscribing the first and second browsers of the first wagering gamemachine to a remote shared object of the remote server also subscribedto by the first and second browsers of the one or more additionalwagering game machines to establish the communication channel for thefirst and second browsers of the first wagering game machine and thefirst and second browsers of the one or more additional wagering gamemachines.

In some embodiments, said notifying the second browser of the firstwagering game machine and the second browser of the one or moreadditional wagering game machines of the media presentation trigger viathe communication channel causes the second browser of the firstwagering game machine to present an instance of a bonus game and causesthe second browser of each of the one or more additional wagering gamemachines to present an instance of the bonus game.

In some embodiments, said notifying the second browser of the firstwagering game machine and the second browser of the one or moreadditional wagering game machines of the media presentation trigger viathe communication channel causes the second browser of the firstwagering game machine and the second browser of the one or moreadditional wagering game machines to present a single instance of abonus game across the browsers of the wagering game machines.

In some embodiments, the method further comprises detecting anotification message notifying the second browser of the mediapresentation trigger; and presenting a portion of the bonus game in thesecond browser of the first wagering game machine, where the remainingportion of the bonus game is presented across the second browser of theone or more additional wagering game machines.

In some embodiments, said notifying the second browser of the firstwagering game machine and the second browser of the one or moreadditional wagering game machines of the media presentation trigger viathe communication channel causes the second browser of the firstwagering game machine to present a progressive jackpot celebration andcauses the second browser of each of the one or more additional wageringgame machines to present a progressive jackpot celebration.

In some embodiments, one or more machine-readable media havinginstructions stored thereon, which when executed by a set of one or moreprocessors causes the set of one or more processors to performoperations comprises subscribing a first browser and a second browser ofa wagering game machine to a communication channel managed by a remoteserver; presenting media for a wagering game in the first browser of thewagering game machine; requesting a result for the wagering game fromthe remote server; presenting media for the wagering game result in thefirst browser; determining that the wagering game result triggers abonus game in the second browser; and notifying the second browser ofthe wagering game machine of the bonus game trigger via thecommunication channel to cause the second browser to present media forthe bonus game.

In some embodiments, the program product when executed causes the set ofone or more processor units to perform operations that comprisesubscribing the first and second browsers to a remote shared object ofthe remote server to establish the communication channel for the firstand second browsers.

In some embodiments, the program product when executed causes the set ofone or more processor units to perform operations that comprise callingthe remote shared object of the remote server to cause the remote serverto broadcast a bonus game trigger notification message to the secondbrowser via the communication channel and the second browser to presentmedia for the bonus game.

In some embodiments, the program product when executed causes the set ofone or more processor units to perform operations that comprisedetecting a player input for a wagering game in the first browser of thewagering game machine and presenting media for the wagering game in thefirst browser in response to detecting the player input for the wageringgame.

BRIEF DESCRIPTION OF THE FIGURES

Embodiments of the invention are illustrated in the Figures of theaccompanying drawings in which:

FIG. 1 is a conceptual diagram that illustrates an example of a wageringgame system architecture, according to some embodiments;

FIG. 2 is a is a flow diagram illustrating operations for coordinatingthe presentation of media on a plurality of browsers of a wagering gamemachine, according to some embodiments;

FIG. 3 is a is a flow diagram illustrating operations for managingcommunications associated with a plurality of browsers of a wageringgame machine, according to some embodiments;

FIG. 4 is a is a flow diagram illustrating operations for coordinatingthe presentation of media on a plurality of browsers of a wagering gamemachine, according to some embodiments;

FIG. 5A-5D is a conceptual diagram illustrating a process forcoordinating the presentation of media on a plurality of browsers of aplurality of wagering game machines, according to some embodiments;

FIG. 6 is a conceptual diagram that illustrates an example of a wageringgame machine architecture, according to some embodiments; and

FIG. 7 is a perspective view of a wagering game machine, according tosome embodiments.

DESCRIPTION OF THE EMBODIMENTS

This description of the embodiments is divided into five sections. Thefirst section provides an introduction to embodiments of the inventivesubject matter, while the second section describes example wagering gamemachine architectures. The third section describes example operationsperformed by some embodiments and the fourth section describesadditional example operating environments. The fifth section presentssome general comments.

Introduction

This section provides an introduction to some embodiments of theinvention.

Wagering game systems offer wagering game players (“players”)entertainment value and the opportunity to win monetary value. In someimplementations, wagering game systems can attempt to enhance the gamingexperience by coordinating the presentation of media across a pluralityof browsers of the wagering game machines. For example, a plurality ofbrowsers within one or more wagering game machines can be coordinated topresent game-related media, such as bonus games.

In one implementation, wagering game systems can coordinate thepresentation of media across a plurality of browsers within a singlewagering game machine. For example, a wagering game machine may includea first browser for a first display device to present base wageringgames and a second browser for a second display device to present bonusgames and other game-related media. In this example, a wagering gamesystem can coordinate the presentation of bonus game media (or othergame-related media) in the second browser based on trigger eventsassociated with base wagering games presented in the first browser.

In another implementation, wagering game systems can coordinate thepresentation of media across a plurality of browsers of a plurality ofrelated wagering game machines. In one example, each of the plurality ofrelated wagering game machines may include a first browser for a firstdisplay device and a second browser for a second display device. In thisexample, a wagering game system can coordinate the presentation of bonusgame media (or other game-related media) on the second browsers of allof the related gaming machines based on trigger event(s) associated witha base wagering game presented on the first browser of any one of therelated wagering game machines.

Although the above paragraphs describe some embodiments, the followingsections describe many other features and embodiments.

Operating Environment

This section describes example operating environments and networks andpresents structural aspects of some embodiments. More specifically, thissection includes discussion about wagering game system architectures.

Wagering Game Machine Architectures

FIG. 1 is a conceptual diagram that illustrates an example of a wageringgame system architecture 100, according to some embodiments. Asillustrated, the wagering game system architecture 100 includes a gamecontroller 110 and a plurality of wagering game machines 160. The gamecontroller 110 is configured to control game content (e.g., gameresults) and communicate game-related information and other information(e.g., third-party services) to and from the plurality of wagering gamemachines 160. In one embodiment, the game controller 110 includes a gameserver 150, a progressive server 130, a third-party services server 140,a media communication server 120, and a community server 180.

The game server 150 is configured to manage and control content forpresentation on the wagering game machines 160. For example, the gameserver 150 includes a game management unit 152 configured to generate(e.g., using a random numbers generator) game results (e.g., win/lossvalues), including win amounts, for games played on the wagering gamemachines 160 (e.g., slots, poker, roulette, bonus games, etc.). The gamemanagement unit 152 can communicate the game results to the wageringgame machines 160 via the network 122. In some implementations, the gamemanagement unit 152 can also generate random numbers and provide them tothe wagering game machines 160 so that the wagering game machines 160can generate game results. The game management unit 152 may also provideother types of content, such as advertising, player messages, hotel andcasino information, etc. The game server 150 can also include a contentstore 154 configured to store content used for presenting game events(e.g., pay tables, media files, etc.) and other information on thewagering game machines 160.

The progressive server 130 is configured to work in conjunction with thegame server 150 to manage progressive jackpots for the wagering gamesystem. For example, the progressive server 130 can monitor game resultsgenerated by the game server 150 and detect other game events to manageprogressive jackpots. The progressive server 130 can also presentprogressive jackpot awards on the wagering game machines 160.

The third-party services server 140 is configured to provide thewagering game system access to third-party services, such asInternet-related services. For example, the wagering game system canaccess Internet services and information related to finances, socialnetworking, news, weather, email, sports, travel, shopping, etc. In someimplementations, the third-party services server 140 is configured towork in conjunction with the game server 150 to provide players accessto online wagering games via the Internet.

The media communication server 120 is configured to managecommunications between the wagering game machines 160 and the rest ofthe components of the game controller 110 (e.g., the game server 150),and also manage communications between the wagering game machines 160.In one example, the media communication server 120 receives a requestmessage for game results from a first browser of a wagering game machine160. In this example, the media communication server 120 routes therequest message to the game server 150, receives game result informationfrom the game server 150, and provides the game result information tothe first browser of the wagering game machine 160. In another example,the media communication server 120 receives a trigger event notificationmessage from a first browser of a first wagering game machine 160, whichis subscribed to a communication channel (e.g., a broadcast channel)implemented in the media communication server 120. In this example, themedia communication server 120 provides (e.g., broadcasts) the triggerevent notification message to the browsers of one or more relatedwagering game machines 160, which are subscribed to the communicationchannel, to coordinate the presentation of media associated with thetrigger event, such as a bonus game trigger.

In various embodiments, the media communication server 120 can create aremote shared object to establish a communication channel for aplurality of related browsers of one or more wagering game machines 160.In one example, the media communication server 120 creates the remoteshared object, and therefore establishes the communication channel, whenthe plurality of related browsers subscribe to the communication server120. Each of the related browsers can communicate (e.g., send triggerevent notification messages) with the other related browsers via thecommunication channel by calling the remote shared object. For example,after the browser makes the call to the remote shared object, the mediacommunication server 120 sends (e.g., broadcasts) a message to therelated browsers. The media communication server 120 can create aplurality of remote shared objects to establish a communication channelfor various sets of related browsers. For example, a first browser and asecond browser implemented within the same wagering game machine 160 cansubscribe to the same remote shared object to establish a communicationchannel between the browsers. In another example, a plurality of relatedbrowsers implemented within a plurality of wagering game machines 160can all subscribe to another remote shared object to establish acommunication channel between all the related browsers.

In some implementations, the media communication server 120 can beimplemented using Adobe® Flash® Media Server. In this implementation,the browser applications of the wagering game machines 160 load a Flash®Player browser plug-in to communicate with the Flash® Media Server. TheFlash® Media Server and the browsers can communicate using one or moreprotocols, e.g., real time messaging protocol (RTPM), Action MessageFormat (AMF) protocol, etc. It is noted, however, that in otherembodiments the media communication server 120 can be implemented usingother technologies and protocols to effectively manage communicationsassociated with related browsers of a plurality of wagering gamemachines 160 to coordinate presentation of media on the browsers. It isnoted that the browsers can be other types of display clients, e.g.,Adobe® AIR runtime, which can be implemented within wagering gamesystems for presenting wagering game content. In other words, thetechniques described herein for coordinating the presentation of mediacan be extended to other types of display technologies besides browsers.

The community server 180 is configured to provide a wide range ofservices to members of virtual gaming communities. For example, thecommunity servers may allow players to:

Create Social Networks—When creating social networks, members can createelectronic associations that inform network members when selectedmembers are: 1) online, 2) performing activities, 3) reachingmilestones, 4) etc.

Establish a Reputation—Community members can establish reputations basedon feedback from other community members, based on accomplishments inthe community, based on who is in their social network, etc.

Provide Content—Community members can provide content by uploadingmedia, designing wagering games, maintaining blogs, etc.

Filter Content—Community members can filter content by rating content,commenting on content, or otherwise distinguishing content.

Interact with Other Members—Community members can interact vianewsgroups, e-mail, discussion boards, instant messaging, etc.

Participate in Community Activities—Community members can participate incommunity activities, such as multi-player games, interactive meetings,discussion groups, real-life meetings, etc.

Connect Casino Players to Online Members—Community members who areplaying in casinos can interact with members who are online. Forexample, online members may be able to: see activities of socialcontacts in the casino, chat with casino players, participate incommunity games involving casino players, etc.

The community server 180 is configured to work in conjunction with themedia communication server 120 to implement the various services andfeatures associated with the community server 180 into the techniquesdescribed herein for coordinating the presentation of media acrossmultiple browsers. In some embodiments, the community server 180 enablesonline community members (e.g., operating a personal computer (PC) or amobile device) to participate in and/or monitor wagering games that arebeing presented in one or more casinos. In one example, the communityserver 180 is configured to work in conjunction with the mediacommunication server 120 to coordinate the presentation of media (e.g.,bonus games, progressive jackpot celebrations, etc.) across one or morebrowsers of one or more wagering game machines within a casino and oneor more browsers of one or more online community members outside thecasino.

The community server 180 can enable community members to connect withand track each other. For example, the community server 180 can enablecommunity members to select other members to be part of a socialnetwork. The community server 180 can also enable members of a socialnetwork to track what other social network members are doing in avirtual gaming community and a real-world casino. For example, in someimplementations, the community server 180 assists in enabling members ofa social network to see when network members are playing wagering gamemachines in a casino, accessing a virtual gaming community web site,achieving milestones (e.g., winning large wagers in a casino), etc.

The community server 180 can store and manage content for a virtualgaming community. For example, in some embodiments, the community server180 can host a web site for a virtual gaming community. Additionally,the community server 180 can enable community members and administratorsto add, delete, and/or modify content for virtual gaming communities.For example, the community server 180 can enable community members topost media files, member-designed games, commentaries, etc., all forconsumption by members of a virtual gaming community.

The community server 180 can track behavior of community members. Insome embodiments, the community server 180 tracks how individuals and/orgroups use the services and content available in a virtual gamingcommunity. The community server 180 can analyze member behavior andcategorize community members based on their behavior. The communityserver 180 can configure network components to customize content basedon individual and/or group habits.

The community server 180 can manage various promotions offered tomembers of a virtual gaming community. For example, the promotionscommunity server 180 can distribute promotional material when membersachieve certain accomplishments (e.g., scores for online games) in avirtual gaming community. Members may use some of the promotionalmaterial when playing wagering games in a casino.

The plurality of wagering game machines 160 are configured to manage andpresent wagering games, bonus games, and other media for players. Asillustrated in FIG. 1, in some implementations, each of the wageringgame machines 160 includes a media presentation unit 162 configured tocontrol the presentation of media for wagering games and bonus games onthe wagering game machine 160. The media presentation unit 162 caninclude a plurality of browsers 165 (including one or more browserplug-ins) and any other software and/or hardware suitable for presentingaudio and video content. The media presentation unit 162 may receive,from the media communication server 120, content for presenting gameresults, and/or may request particular content from other networkdevices. In some embodiments, the media presentation unit 162 presentsgame results and other game media using content stored locally in thecontent store 164.

The wagering game machines 160 can also include an event management unit166 configured to detect wagering game events that trigger thepresentation of bonus games or other game-related media in one or morebrowsers of one or more related wagering game machines 160. In someembodiments, the event management unit 166 can reside in one of thebrowsers 165. The event management unit 166 may be configured to sendtrigger event notification messages to the one or more related wageringgame machines 160 via the media communication server 120 to inform thewagering game machines of the occurrence of a trigger event, such asspecific game results, player input, etc. The event management unit 166can also be configured to detect trigger event notification messagessent (e.g., broadcast) by the media communication server 120.

In one embodiment, the wagering game machines 160 can be casino floorwagering game machines (wired and/or wireless). It is noted, however,that in other embodiments the wagering game machines 160 can be laptops,desktop PCs, mobile phones, personal digital assistants (PDAs), etc.that access the casino network, e.g., the community server 180 (andother network components), via the Internet.

Each component shown in the wagering game system architecture 100 isshown as a separate and distinct element connected via a communicationsnetwork 122. However, some functions performed by one component could beperformed by other components. For example, the game server 150 can alsobe configured to perform some or all of the functions of the third-partyservice server 140. Furthermore, the components shown may all becontained in one device, but some, or all, may be included in, orperformed by multiple devices, as in the configurations shown in FIG. 1or other configurations not shown. Furthermore, the wagering game systemarchitecture 100 can be implemented as software, hardware, anycombination thereof, or other forms of embodiments not listed. Forexample, any of the network components (e.g., the wagering gamemachines, servers, etc.) can include hardware and machine-readable mediaincluding instructions for performing the operations described herein.Machine-readable media includes any mechanism that provides (i.e.,stores and/or transmits) information in a form readable by a machine(e.g., a wagering game machine, computer, etc.). For example, tangiblemachine-readable media includes read only memory (ROM), random accessmemory (RAM), magnetic disk storage media, optical storage media, flashmemory machines, etc. Machine-readable media also includes any mediasuitable for transmitting software over a network.

Although FIG. 1 describes some embodiments, the following sectionsdescribe many other features and embodiments.

Example Operations

This section describes operations associated with some embodiments ofthe invention. In the discussion below, the flow diagrams will bedescribed with reference to the block diagrams presented above. However,in some embodiments, the operations can be performed by logic notdescribed in the block diagrams.

In certain embodiments, the operations can be performed by executinginstructions residing on machine-readable media (e.g., software), whilein other embodiments, the operations can be performed by hardware and/orother logic (e.g., firmware). In some embodiments, the operations can beperformed in series, while in other embodiments, one or more of theoperations can be performed in parallel. Moreover, some embodiments canperform less than all the operations shown in any flow diagram.

The following discussion of FIGS. 2-4 will describe interactions betweena wagering game machine and a game controller. FIGS. 2 & 4 describe howsome wagering game machines can use a communication channel inpresenting wagering games. FIG. 3 describes how the game controller canhost the communication channel and assist in presenting the wageringgames.

FIG. 2 is a flow diagram 200 illustrating operations for coordinatingthe presentation of media on a plurality of browsers of a wagering gamemachine, according to some embodiments. The flow of 200 will bedescribed with reference to the example system architecture of FIG. 1.The flow diagram begins at block 202.

At block 202, the wagering game machine 160 subscribes to acommunication channel implemented in the media communication server 120.For example, the media presentation unit 162 subscribes a plurality ofbrowsers 165 of the wagering game machine 160 to the communicationchannel. The wagering game machine may use one of the browsers topresent a base game, while using another for presenting bonus games. Inone specific example, the media communication server 120 creates aremote shared object to establish the communication channel for theplurality of browsers of the wagering game machine 160. In this example,the media presentation unit 162 subscribes the browsers to the remoteshared object. When the media presentation unit 162 subscribes thebrowsers to the remote shared object, the media communication server 120assigns game machine IDs, browser application IDs and other informationused for managing communications (e.g., broadcast messages) via thecommunication channel. In one example, the wagering game machine 160includes a first browser for a first display device (e.g., a wageringgame display) and a second browser for a second display device (e.g., abonus game display). In this example, the media presentation unit 162subscribes the first and second browsers to the communication channel.After block 202, the flow continues at block 204.

At block 204, the wagering game machine 160 detects a player input thatinitiates a wagering game. In one example, the media presentation unit162 detects a player input to initiate a wagering game. In response todetecting the player input, the media presentation unit 162 loadscontent associated with the wagering game (e.g., audio/video content)from the content store 164 and presents the content in the firstbrowser. After block 204, the flow continues at block 206.

At block 206, the wagering game machine 160 requests a result for thewagering game. For example, the media presentation unit 162 sends arequest message to the media communication server 120 for the wageringgame result. In one example, the request message may include a machineID and browser application ID associated with the first browser. Themedia communication server 120 routes the request message to the gameserver 150, which processes the request message. After block 206, theflow continues at block 208.

At block 208, the wagering game machine 160 receives the wagering gameresult (e.g., win/loss values). For example, the wagering game machine'smedia presentation unit 162 receives the result from the gamecontroller's media communication server 120. In this example, the gameserver's game management unit 152 may determine the result. In oneimplementation, the media communication server 120 broadcasts thewagering game result to the media presentation unit 162 via thecommunication channel associated with the first browser. After block208, the flow continues at block 210.

At block 210, the wagering game machine 160 determines that the wageringgame result triggers a bonus game. In one implementation, the eventmanagement unit 166 of the wagering game machine 160 detects thewagering game result and determines that the result triggers a bonusgame. For example, in video poker wagering games, some bonus gametrigger events may be a royal flush, a full house, and a straight. Inslots wagering games, certain combinations of reel results can be bonusgame trigger events. It is noted, however, that various other types ofgame events can trigger the presentation of a bonus game, e.g.,intermediate game results. After block 210, the flow continues at block212.

At block 212, the wagering game machine 160 presents in the firstbrowser media indicating the wagering game result. For example, themedia presentation unit 162 presents in the first browser of thewagering game machine 160 media indicating the wagering game result. Themedia presentation can include audio and video content, such as graphicsof spinning slots reels and bells. After block 212, the flow continuesat block 214.

At block 214, the wagering game machine 160 notifies the second browserof the bonus game trigger via the communication channel to cause thesecond browser to present the bonus game. For example, the eventmanagement unit 166 sends a bonus game trigger notification message tothe media communication server 120. The media communication server 120sends (e.g., broadcasts) the bonus game trigger notification message tothe media presentation unit 162 via the communication channel associatedwith the first and second browsers to cause the second browser topresent the bonus game. In one specific implementation, to broadcast abonus game trigger notification message, the event management unit 166makes a method call to the remote shared object on the mediacommunication server 120 associated with the first and second browsers.It is noted that the event management unit 166 can also sendnotification messages to related browsers for other events, e.g.,intermediate game results, progressive jackpot celebration events, etc.After block 214, the flow ends. The process for presenting the bonusgame in the second browser of the wagering game machine 160 will bedescribed below with reference to FIG. 4.

While FIG. 2 describes embodiments in which wagering game machines sendand receive information from a game controller, FIG. 3 describes how agame controller may respond. It is noted that in some implementationsthe game controller's media communication server 120 can create a remoteshared object to establish a communication channel for a plurality ofbrowsers of a first wagering game machine 160 (e.g., the first andsecond browsers) and a plurality of browsers of one or more relatedwagering game machines 160. In this example, the trigger eventnotification message can be broadcast to all of the related wageringgame machines 160 that are subscribed to the communication channel tocause the bonus game to be presented in the second browsers of all therelated wagering game machines 160.

FIG. 3 is a flow diagram 300 illustrating operations for managingcommunications associated with a plurality of browsers of a wageringgame machine, according to some embodiments. The flow of 300 will bedescribed with reference to the example system architecture of FIG. 1and the example flow diagram of FIG. 2. The flow diagram begins at block302.

At block 302, the media communication server 120 receives a messageassociated with a first browser of a wagering game machine 160subscribed to a communication channel. In one example, the mediacommunication server 120 can establish the communication channel bycreating a remote shared object associated with the first browser and asecond browser of the wagering game machine 160 (e.g., as was describedabove with reference to FIGS. 1-2). In this example, the mediacommunication server 120 can create the remote shared object when thefirst and second browsers of the wagering game machine 160 subscribewith the media communication server 120. In one specific implementation,the media communication server 120 can receive the message from themedia presentation unit 162 of the wagering game machine 160. Afterblock 302, the flow continues at block 304.

At block 304, the media communication server 120 determines whether themessage is a bonus game trigger notification message. If the message isa bonus game trigger notification message, the flow continues at block306. Otherwise, the flow continues at block 316.

At block 306, the media communication server 120 sends the bonus gamenotification message to the second browser of the wagering game machine160 via the communication channel. In one example, the mediacommunication server 120 sends the bonus game notification message tothe media presentation unit 162 associated with the second browser. Inresponse to receiving the notification message, the media presentationunit 162 loads content associated with the bonus game from the contentstore 164 and presents the bonus game in the second browser. In someimplementations, the media communication server 120 broadcasts thenotification message to all of the related browsers that are subscribedto the communication channel. After block 306, the flow continues atblock 308.

At block 308, the media communication server 120 receives a requestmessage from the second browser requesting a result for the bonus game.In one example, the media presentation server 120 receives the requestmessage from the media presentation unit 162 associated with the secondbrowser. After block 308, the flow continues at block 310.

At block 310, the media communication server 120 sends the requestmessage requesting the bonus game result to the game server 150. In oneexample, the media communication server 120 sends the request message tothe game management unit 152 of the game server 150. After block 310,the flow continues at block 312.

At block 312, the media communication server 120 receives the bonus gameresult from the game server 150. In one example, the media communicationserver 120 receives the bonus game result from the game management unit152 of the game server 150. After block 312, the flow continues at block314.

At block 314, the media communication server 120 sends the bonus gameresult to the second browser of the wagering game machine 160. In oneexample, the media communication server 120 broadcasts the bonus gameresult to the media presentation unit 162 associated with the secondbrowser via the communication channel. The media presentation unit 162presents the bonus game result in the second browser. After block 314,the flow ends.

At block 316, if the received message is not a notification message, themedia communication server 120 determines that the message is a requestmessage requesting a result for a wagering game, i.e., a wagering gamethat is being presented in the first browser of the wagering game server160. The media communication server 120 also determines that the requestmessage is directed to one of the components of the game controller 110.For instance, in this example, the media communication server 120determines that the message is a request message directed to the gameserver 150. After block 316, the flow continues at block 318.

At block 318, the media communication server 120 sends the requestmessage to the game server 150. For example, the media communicationserver 120 sends the request message to the game management unit 152 ofthe game server 150. After block 318, the flow continues at block 320.

At block 320, the media communication server 120 receives the wageringgame result from the game server 150. For example, the mediacommunication server 120 receives the wagering game result from the gamemanagement unit 152 of the game server 150. After block 320, the flowcontinues at block 322.

At block 322, the media communication server 120 sends the wagering gameresult to the first browser of the wagering game machine 160 via thecommunication channel. For example, the media communications server 120sends the wagering game result to the game presentation unit 162associated with the first browser. In response to receiving the wageringgame result, the game presentation unit 162 presents the wagering gameresult in the first browser of the wagering game machine 160. At block322, the flow ends.

As noted above, FIGS. 2-3 describe interactions between a wagering gamemachine and a game controller. More specifically, how the wagering gamemachine utilized a communication channel hosted on the game controller.FIG. 4 builds on FIGS. 2 & 3 by showing how the wagering game machineuses a second browser to present a bonus game based on communicationsreceived from the game controller (shown in FIG. 3).

FIG. 4 is a flow diagram 400 illustrating operations for coordinatingthe presentation of media on a plurality of browsers of a wagering gamemachine, according to some embodiments. The flow of 400 will bedescribed with reference to the example system architecture of FIG. 1and the flow diagrams of FIGS. 2-3. The flow diagram begins at block404.

At block 404, the wagering game machine 160 detects a bonus game triggervia the communication channel that initiates the bonus game. Asdescribed in FIG. 2, the wagering game machine has subscribed aplurality of browsers to a communication channel hosed by the gamecontroller. Thus, the media presentation unit 162 can detect a bonusgame trigger notification message that is broadcast via thecommunication channel. In response to detecting the bonus game triggernotification message, the media presentation unit 162 loads mediacontent associated with the bonus game and presents the media for thebonus game in the second browser of the wagering game machine 160. Inanother example, the event management unit 166 of the wagering gamemachine 160 detects the bonus game trigger notification message anddirects the media presentation unit 162 to present the bonus game. Afterblock 404, the flow continues at block 406.

At block 406, the wagering game machine 160 requests a result for thebonus game. For example, the media presentation unit 162 sends a requestmessage to the media communication server 120 to request the bonus gameresult. After block 406, the flow continues at block 408.

At block 408, the wagering game machine 160 receives the bonus gameresult. For example, the media presentation unit 162 receives abroadcast of the bonus game result from the media communication server120 via the communication channel. After block 408, the flow continuesat block 410.

At block 410, the wagering game machine 160 presents in the secondbrowser media indicating result of the bonus game. For example, themedia presentation unit 162 presents media indicating the bonus gameresult in the second browser of the wagering game machine 160. Afterblock 410, the flow ends.

In some embodiments, a bonus game trigger event detected within thewagering game being presented on a first browser of a first wageringgame machine can trigger the presentation of media for a bonus gamewithin the second browser of the first wagering game machine (asdescribed above) and also within the second browsers of one or morerelated wagering game machines. In this case, the media communicationserver 120 sends (e.g., broadcasts) the bonus game trigger notificationmessage received from the media presentation unit 162 of the firstwagering game machine to the second browser of the first wagering gamemachine and to the second browsers of the one or more related wageringgame machines via the communication channel. In one example, the mediacommunication server 120 can establish the communication channel betweena plurality of browsers of a plurality of related wagering game machinesby creating a remote shared object to manage the communications of thebrowsers of the plurality of related wagering game machines.

In one example, the presentation of the bonus game in the secondbrowsers of the related wagering game machines is coordinated based onthe timing of the trigger event on the base wagering game. In otherexamples, the presentation of the bonus game in the second browsers ofthe related wagering games is not only coordinated based on the timingof the trigger event of the base wagering game but also on the timing oftrigger events on the second browsers of the related wagering gamemachines, e.g., as will be further described below with reference to thecar racing bonus game example of FIG. 5.

In some implementations, other types of trigger events can result in thepresentation of media within browsers of related wagering game machines.In one example, a plurality of wagering game machines can allparticipate in a progressive jackpot, e.g., managed by the progressiveserver 130 of the game controller 110. In this example, the mediacommunication server 120 can creates a remote shared object for theplurality of related wagering game machines to establish a communicationchannel. In one example, when one of the related wagering game machineswins the progressive jackpot, the winning wagering game machine sends atrigger event notification message to the media communication server 120(e.g., performs a method call to the remote shared object). The mediacommunication server 120 then sends (e.g., broadcast) the notificationmessage to all of the related wagering game machines via thecommunication channel. In response to detecting the trigger eventnotification message, the related wagering game machines present mediaof a progressive jackpot celebration (e.g., in the second browser),which indicates that somebody in the network won the progressivejackpot. In one example, the winning machine can present media of a moreelaborate celebration than the other related machines.

FIG. 5A is a conceptual diagram illustrating a process for coordinatingthe presentation of media on a plurality of browsers of a plurality ofwagering game machines, according to some embodiments. In one example,each of a plurality of related wagering game machines 560 comprise afirst browser for a first display device 561 (e.g., a base wagering gamedisplay) and a second browser for a second display device 562 (e.g., abonus game display). The plurality of related wagering game machines 560communicate with the media communication server 520 of the gamecontroller 510 to coordinate the presentation of bonus games in thesecond browsers of the wagering game machines 560. Similar to theimplementations described above, in one example, the media communicationserver 520 can create a remote shared object for the related wageringgame machines 560. In one specific example, four related wagering gamemachines 560 subscribe to a remote shared object on the mediacommunication server 520 to establish a communication channel for thefour related wagering game machines 560. The four related wagering gamemachines 560 can be positioned next to each other at a relatively closeproximity, and in a particular sequence, such that the four relatedwagering game machines can present a single instance of a bonus game(e.g., a car racing game) across the second browsers of the four relatedwagering game machines.

In one implementation, at stage A (shown in FIG. 5A), the secondwagering game machine detects a bonus game trigger event (e.g., royalflush) in the wagering game (e.g., video poker) being presented in thefirst browser of the second wagering game machine. For example, themedia presentation unit and/or the game management unit of the secondwagering game machine detects the bonus game trigger event.

At stage B, the media presentation unit sends a bonus game triggernotification message to the media communication server 520 via thecommunications network 522.

At stage C, the media communication server 520 broadcasts the bonus gamenotification message to the plurality of related wagering game machines560 via the communication channel.

At stage D1, the media presentation unit of the first wagering gamemachine presents media for the start of a car racing bonus game in thesecond browser. The media presentation unit of the first wagering gamemachine first detects the broadcast of the bonus game triggernotification message. In one example, the media presentation unit thenloads media content for the bonus game that is stored locally andpresents the media for the start of the car racing bonus game. Inanother example, the media presentation unit requests media content forthe bonus game from the game controller 510 and then presents the mediafor the start of the car racing bonus game. In one implementation, themedia presentation unit requests an intermediate result for the bonusgame from the game controller 510. In the example of the car racingbonus game, the intermediate result can determine how “fast” the racingcar traverses the second display 562 of the first wagering game machine.In other words, in one specific example, based on random numbers (e.g.,generated locally or at the game controller 510), one of a plurality ofavailable media presentations is selected for the start of the carracing bonus game. In this example, each of the media presentationscomprises a racing car moving across the display area at a differentspeed. In another implementation, only one media presentation for thestart of the car racing bonus game is available and therefore the mediapresentation unit loads the media for the bonus game without requestingan intermediate result from the game controller 510.

It is noted that the second, third, and fourth related wagering gamemachines 560 also detect the broadcast of the bonus game triggernotification message. In one example, each of the first, second, third,and fourth related wagering machines 560 interpret the bonus gametrigger notification message based on their position within the sequenceof the four related wagering game machines (which may correspond to themachine IDs and browser application IDs assigned by the media contentserver 520).

At stage D2, the media presentation unit of the second wagering gamemachine presents media of an empty race track for the car racing bonusgame in the second browser, while the first wagering game machinepresents media of the start of the race. In one example, the mediapresentation unit of the second wagering game machine detects the bonusgame trigger notification message and determines what media to presentbased on the position of the wagering game within the sequence ofrelated wagering games and the status of the bonus game. In thisexample, since the notification message indicates the start of the bonusgame, and the machine is second within the sequence of the relatedwagering game machines, the media presentation unit determines topresent media of an empty race track until first wagering game machinesends a subsequent event notification message updating the status of thebonus game.

At stage D3, the media presentation unit of the third wagering gamemachine also presents media of an empty race track for the car racingbonus game in the second browser.

At stage D4, the media presentation unit of the fourth wagering gamemachine presents media of an empty race track and the finish line in thesecond browser.

At stage E, the first wagering game machine detects a trigger event inthe bonus game when the race car reaches the end of the displayassociated with the second browser. In one example, the mediapresentation unit and/or the game management unit of the second wageringgame machine detects the bonus game trigger event.

In FIG. 5B, in response to the first wagering game machine detecting atrigger event when the race car reaches the end of the display, at stageA, the first wagering game machine sends a bonus game triggernotification message to the media communication server 520.

At stage B, the media communication server 520 broadcasts the bonus gametrigger notification message (e.g., indicating the first wagering gamemachine has finished presenting the race car) to all of the relatedwagering game machines 560 via the communication channel.

At stage C1, in response to detecting the notification message, themedia presentation unit of the first wagering game machine presentsmedia of an empty race track with the start line in the second browser.

At stage C2, the media presentation unit of the second wagering machinepresents media of the race car moving on the race track in the secondbrowser. In this example, the media presentation unit of the secondwagering game machine detects the subsequent notification message thatdirects the second wagering machine to present media for the bonus game.In one example, the notification messages that are broadcast to therelated wagering game machines can include a machine ID and browserapplication ID to indicate which one of the related wagering gamemachines is scheduled to present media of the race car for the bonusgame. In this example, the rest of the related wagering game machinespresent default media for the car racing bonus game, e.g., media of anempty race track.

In one example, the media presentation unit then loads media content forthe bonus game that is stored locally and presents the media for the carracing bonus game. In another example, the media presentation unitrequests media content for the bonus game from the game controller 510and then presents the media for the car racing bonus game. As describedabove, in one implementation, the media presentation unit requests anintermediate result for the bonus game from the game controller 510. Inanother implementation, only one media presentation for the car racingbonus game is available for this stage of the bonus game and thereforethe media presentation unit loads the media for the bonus game withoutrequesting an intermediate result from the game controller 510.

At stage C3, the media presentation unit of the third wagering gamemachine presents media of an empty race track in the second browser.

At stage C4, the media presentation unit of the fourth wagering gamemachine presents media of an empty race track and the finish line in thesecond browser.

At stage D, the second wagering game machine detects a trigger event inthe bonus game when the race car reaches the end of the displayassociated with the second browser. In one example, the mediapresentation unit and/or the game management unit of the second wageringgame machine detects the bonus game trigger event.

In FIG. 5C, after the second wagering game machine detects a triggerevent when the race car reaches the end of the display, at stage A, thesecond wagering game machine sends a bonus game trigger notificationmessage to the media communication server 520.

At stage B, the media communication server 520 broadcasts the bonus gametrigger notification message (e.g., indicating the second wagering gamemachine has finished presenting the race car) to all of the relatedwagering game machines 560 via the communication channel.

At stage C1, in response to detecting the notification message, themedia presentation unit of the first wagering game machine presentsmedia of an empty race track with the start line in the second browser.

At stage C2, the media presentation unit of the second wagering gamemachine presents media of an empty race track in the second browser.

At stage C3, the media presentation unit of the third wagering machinepresents media of the race car moving on the race track in the secondbrowser.

At stage C4, the media presentation unit of the fourth wagering gamemachine presents media of an empty race track and the finish line in thesecond browser.

At stage D, the third wagering game machine detects a trigger event inthe bonus game when the race car reaches the end of the displayassociated with the second browser.

In FIG. 5D, in response to the third wagering game machine detecting atrigger event when the race car reaches the end of the display, at stageA, the third wagering game machine sends a bonus game triggernotification message to the media communication server 520.

At stage B, the media communication server 520 broadcasts the bonus gametrigger notification message (e.g., indicating the third wagering gamemachine has finished presenting the race car) to all of the relatedwagering game machines 560 via the communication channel.

At stage C1, in response to detecting the notification message, themedia presentation unit of the first wagering game machine presentsmedia of an empty race track and the start line in the second browser.

At stage C2, the media presentation unit of the second wagering gamemachine presents media of an empty race track in the second browser.

At stage C3, the media presentation unit of the third wagering machinepresents media of an empty race track in the second browser.

At stage C4, the media presentation unit of the fourth wagering gamemachine presents media of the race car on the race track moving towardthe finish line, and crossing the finish line, in the second browser.

At stage D, the fourth wagering game machine detects a trigger event inthe bonus game when the race car crosses the finish line and reaches theend of the display associated with the second browser of the fourthwagering game machine.

At stage E, the fourth wagering game machine sends a request for theresults of the car racing bonus game. For example, the mediapresentation unit of the fourth wagering game machine sends a requestmessage to the media communication server 520 requesting the results forthe bonus game. It is noted, however, that in another implementation thefourth wagering game machine can determine the results locally.

At stage F, all the related wagering game machines receive the resultsfrom the media communication server 520 and present the results of thecar racing bonus game. The results can be presented in the secondbrowser of all of the related wagering game machines 560. In oneexample, the results can indicate that the players of the relatedwagering game machines 560 have been awarded game credits or otherawards. In this example, the game credits can then be added to the gamecredit balance of the base wagering games being presented in the firstbrowsers of the game machines.

It is noted that in other implementations a plurality of relatedwagering game machines (inside the casino or outside the casino) canpresent other game-related or casino-related content (e.g., progressivejackpot celebration) in a similar manner as described above for thebonus game content.

In one implementation, as noted above, the community server 180 canenable players outside the casino to monitor and participate in casinoactivities. For example, a player connected to the community server 180can monitor players in a casino if those players are on a “socialcontacts” list. In some embodiments, players outside the casino can bepart of bonus presentations and other celebrations that occur/begininside the casino. In such an embodiment, an outside browser subscribesto a communication channel used by browsers inside the casino (e.g., inwagering game machines located in the casino). An outside browser mayselect a communication channel based on a player's social contacts,friends list, or other information available in the community server180.

In one example, an outside browser can access the media communicationserver 120 via the community server 180 and subscribe to a remote sharedobject of the media communications server 120 that is also subscribed toby browsers inside the casino (e.g., browsers being operated by playerson a friend list). By subscribing to the remote shared object, theoutside browser can establish a communication channel with the browsersinside the casino to coordinate the presentation of media across thebrowsers inside the casino and the outside browser. For example, when abrowser inside the casino detects a bonus game trigger and makes amethod call to the remote shared object, the media communication server120 may broadcast a bonus game trigger notification message via thecommunication channel. Since the outside browser is subscribed to thesame remote shared object as the browsers inside the casino, the outsidebrowser detects the notification message and presents media for thebonus game. For the car racing bonus game example described above (seeFIG. 5), the outside browser can present the entire car race scene fromthe start line to the finish line. In another example, the outsidebrowser can present only a portion of the car racing bonus game, e.g.,the race car approaching and crossing the finish line. It is noted that,in response to detecting an event trigger (e.g., a bonus game trigger inthe wagering game being presented in the outside browser), the outsidebrowser can also make a method call to the remote shared object tobroadcast notification messages via the communication channel.

It is noted that other events can trigger the presentation of bonusgames or other content across a plurality of browsers of a plurality ofrelated wagering game machines. For example, if a first player isoperating a first wagering game machine, and a second player that ispart of a friend list of the first player logs into a second wageringgame machine next to the first player, a friend list event or a friendprogressive event can be triggered. This type of trigger event can bedetected by the first wagering game machine and result in thepresentation of media for a bonus game across the browsers of aplurality of related wagering game machines.

Additional Example Operating Environments

This section describes example operating environments, systems andnetworks, and presents structural aspects of some embodiments.

Wagering Game Machine Architecture

FIG. 6 is a conceptual diagram that illustrates an example of a wageringgame machine architecture 600, according to some embodiments. In FIG. 6,the wagering game machine architecture 600 includes a wagering gamemachine 606, which includes a central processing unit (CPU) 626connected to main memory 628. The CPU 626 can include any suitableprocessor, such as an Intel® Pentium processor, Intel® Core 2 Duoprocessor, AMD Opteron™ processor, or UltraSPARC processor. The mainmemory 628 includes a wagering game unit 632. In some embodiments, thewagering game unit 632 can present wagering games, such as video poker,video black jack, video slots, video lottery, reel slots, etc., in wholeor part, and can implement techniques for coordinating the presentationof media between multiple browsers, e.g., as described above withreference to FIGS. 1-5D.

The CPU 626 is also connected to an input/output (“I/O”) bus 622, whichcan include any suitable bus technologies, such as an AGTL+frontside busand a PCI backside bus. The I/O bus 622 is connected to a payoutmechanism 608, primary display 610, secondary display 612, value inputdevice 614, player input device 616, information reader 618, and storageunit 630. The player input device 616 can include the value input device614 to the extent the player input device 616 is used to place wagers.The I/O bus 622 is also connected to an external system interface 624,which is connected to external systems (e.g., wagering game networks).The external system interface 624 can include logic for exchanginginformation over wired and wireless networks (e.g., 802.11g transceiver,Bluetooth transceiver, Ethernet transceiver, etc.)

In some embodiments, the wagering game machine 606 can includeadditional peripheral devices and/or more than one of each componentshown in FIG. 6. For example, in some embodiments, the wagering gamemachine 606 can include multiple external system interfaces 624 and/ormultiple CPUs 626. In some embodiments, any of the components can beintegrated or subdivided.

In some embodiments, the wagering game machine 606 includes an onlinegaming module 637. The online gaming module 637 can processcommunications, commands, or other information, where the processing cancontrol and present online wagering games.

Furthermore, any component of the wagering game machine 606 can includehardware, firmware, and/or machine-readable media including instructionsfor performing the operations described herein.

Example Wagering Game Machines

FIG. 7 is a perspective view of a wagering game machine, according toexample embodiments of the invention. Referring to FIG. 7, a wageringgame machine 700 is used in gaming establishments, such as casinos. Insome embodiments, the wagering game machine 700 can implement thefunctionality described above with reference to FIGS. 1-5D, e.g.,coordinating the presentation of media between multiple browsers.

According to embodiments, the wagering game machine 700 can be any typeof wagering game machine and can have varying structures and methods ofoperation. For example, the wagering game machine 700 can be anelectromechanical wagering game machine configured to play mechanicalslots, or it can be an electronic wagering game machine configured toplay video casino games, such as blackjack, slots, keno, poker,blackjack, roulette, etc.

The wagering game machine 700 comprises a housing 712 and includes inputdevices, including value input devices 718 and a player input device724. For output, the wagering game machine 700 includes a primarydisplay 714 for displaying information about a basic wagering game. Insome implementations, the primary display 714 can also displayinformation about a bonus wagering game and a progressive wagering game.The wagering game machine 700 also includes a secondary display 716 fordisplaying bonus wagering games, wagering game events, wagering gameoutcomes, and/or signage information. While some components of thewagering game machine 700 are described herein, numerous other elementscan exist and can be used in any number or combination to create varyingforms of the wagering game machine 700.

The value input devices 718 can take any suitable form and can belocated on the front of the housing 712. The value input devices 718 canreceive currency and/or credits inserted by a player. The value inputdevices 718 can include coin acceptors for receiving coin currency andbill acceptors for receiving paper currency. Furthermore, the valueinput devices 718 can include ticket readers or barcode scanners forreading information stored on vouchers, cards, or other tangibleportable storage devices. The vouchers or cards can authorize access tocentral accounts, which can transfer money to the wagering game machine700.

The player input device 724 comprises a plurality of push buttons on abutton panel 726 for operating the wagering game machine 700. Inaddition, or alternatively, the player input device 724 can comprise atouch screen 728 mounted over the primary display 714 and/or secondarydisplay 716.

The various components of the wagering game machine 700 can be connecteddirectly to, or contained within, the housing 712. Alternatively, someof the wagering game machine's components can be located outside of thehousing 712, while being communicatively coupled with the wagering gamemachine 700 using any suitable wired or wireless communicationtechnology.

The operation of the basic wagering game can be displayed to the playeron the primary display 714. The primary display 714 can also display abonus game associated with the basic wagering game. The primary display714 can include a cathode ray tube (CRT), a high resolution liquidcrystal display (LCD), a plasma display, light emitting diodes (LEDs),or any other type of display suitable for use in the wagering gamemachine 700. Alternatively, the primary display 714 can include a numberof mechanical reels to display the outcome. In FIG. 7, the wagering gamemachine 700 is an “upright” version in which the primary display 714 isoriented vertically relative to the player. Alternatively, the wageringgame machine can be a “slant-top” version in which the primary display714 is slanted at about a thirty-degree angle toward the player of thewagering game machine 700. In yet another embodiment, the wagering gamemachine 700 can exhibit any suitable form factor, such as a freestanding model, bartop model, mobile handheld model, or workstationconsole model.

A player begins playing a basic wagering game by making a wager via thevalue input device 718. The player can initiate play by using the playerinput device's buttons or touch screen 728. The basic game can includearranging a plurality of symbols along a payline 732, which indicatesone or more outcomes of the basic game. Such outcomes can be randomlyselected in response to player input. At least one of the outcomes,which can include any variation or combination of symbols, can trigger abonus game.

In some embodiments, the wagering game machine 700 can also include aninformation reader 752, which can include a card reader, ticket reader,bar code scanner, RFID transceiver, or computer readable storage mediuminterface. In some embodiments, the information reader 752 can be usedto award complimentary services, restore game assets, track playerhabits, etc.

General

This detailed description refers to specific examples in the drawingsand illustrations. These examples are described in sufficient detail toenable those skilled in the art to practice the inventive subjectmatter. These examples also serve to illustrate how the inventivesubject matter can be applied to various purposes or embodiments. Otherembodiments are included within the inventive subject matter, aslogical, mechanical, electrical, and other changes can be made to theexample embodiments described herein. Features of various embodimentsdescribed herein, however essential to the example embodiments in whichthey are incorporated, do not limit the inventive subject matter as awhole, and any reference to the invention, its elements, operation, andapplication are not limiting as a whole, but serve only to define theseexample embodiments. This detailed description does not, therefore,limit embodiments of the invention, which are defined only by theappended claims. Each of the embodiments described herein arecontemplated as falling within the inventive subject matter, which isset forth in the following claims.

1. A computer-implemented method for coordinating presentation of mediain a plurality of browsers of a plurality of wagering game machines, themethod comprising: subscribing a first browser and a second browser of afirst wagering game machine to a communication channel also subscribedto by a first browser and a second browser of one or more additionalwagering game machines; presenting media for a wagering game in thefirst browser of the first wagering game machine; detecting agame-related event associated with the wagering game being presented inthe first browser of the first wagering game machine; determining thatthe game-related event triggers a presentation of a bonus game in thesecond browser of the first wagering game machine and in the secondbrowser of the one or more additional wagering game machines; andproviding a bonus trigger notification message to the second browser ofthe first wagering game machine and to the second browser of the one ormore additional wagering game machines via the second communicationchannel to cause a single instance of the bonus game to be presentedacross the second browser of the first wagering game machine and thesecond browser of the one or more additional wagering game machines. 2.The method of claim 1, wherein said subscribing the first and secondbrowsers of the first wagering game machine to the communication channelcomprises subscribing the first and second browsers of the firstwagering game machine to a remote shared object of a server alsosubscribed to by the first and second browsers of the one or moreadditional wagering game machines to establish the communication channelfor the first and second browsers of the first wagering game machine andthe first and second browsers of the one or more additional wageringgame machines.
 3. The method of claim 2, wherein said providing thebonus trigger notification message to the second browser of the firstwagering game machine and to the second browser of the one or moreadditional wagering game machines via the second communication channelcomprises calling the remote shared object of the server to cause theserver to broadcast the bonus trigger notification message to the secondbrowser of the first wagering game machine and to the second browser ofthe one or more additional wagering game machines via the communicationchannel and cause the single instance of the bonus game to be presentedacross the second browser of the first wagering game machine and thesecond browser of the one or more additional wagering game machines. 4.The method of claim 2, wherein said subscribing the first and secondbrowsers to the remote shared object of the server comprises subscribinga first browser application, including a first browser plug-in, used topresent media in a first display device of the first wagering gamemachine to the remote shared object, and subscribing a second browserapplication, including a second browser plug-in, used to present mediain a second display device of the first wagering game machine to theremote shared object.
 5. The method of claim 1, wherein said providingthe bonus trigger notification message to the second browser of thefirst wagering game machine and to the second browser of the one or moreadditional wagering game machines via the second communication channelto cause the single instance of the bonus game to be presented acrossthe second browser of the first wagering game machine and the secondbrowser of the one or more additional wagering game machines comprisesproviding the bonus trigger notification message to the second browserof the first wagering game machine and to the second browser of the oneor more additional wagering game machines via the second communicationchannel to coordinate the presentation of a first portion of the singleinstance of the bonus game in the second browser of the first wageringgame machine and a different portion of the single instance of the bonusgame in the second browser of each of the one or more additionalwagering game machines.
 6. The method of claim 5, further comprising:detecting a trigger event associated with the first portion of thesingle instance of the bonus game being presented in the second browserof the first wagering game machine; and in response to said detectingthe trigger event associated with the first portion of the singleinstance of the bonus game, providing a bonus event notification messageto the second browser of the first wagering game machine and to thesecond browser of the one or more additional wagering game machines viathe second communication channel to cause the first wagering gamemachine to modify the presentation of the first portion of the singleinstance of the bonus game and cause each of the one or more additionalwagering game machines to determine whether to modify the presentationof each corresponding different portion of the single instance of thebonus game.
 7. The method of claim 1, further comprising providing thebonus trigger notification message to a browser of an online wageringgame machine, subscribed to the communication channel, via a communityserver associated with the online wagering game machine to cause thebrowser of the online wagering game machine to present a separateinstance of the bonus game.
 8. A wagering game machine comprising: amedia presentation unit configured to subscribe a first browser and asecond browser of the wagering game machine to a communication channelalso subscribed to by a first browser and a second browser of one ormore additional wagering game machines, and configured to present mediafor a wagering game in the first browser of the wagering game machine;determine game results associated with the wagering game being presentedin the first browser of the first wagering game machine; and an eventmanagement unit configured to determine that the game results associatedwith the wagering game trigger a presentation of a bonus game in thesecond browser of the first wagering game machine and in the secondbrowser of the one or more additional wagering game machines, andconfigured to provide a bonus trigger notification message to the secondbrowser of the first wagering game machine and to the second browser ofthe one or more additional wagering game machines via the secondcommunication channel to coordinate the presentation of a first portionof a single instance of the bonus game in the second browser of thefirst wagering game machine and a different portion of the singleinstance of the bonus game in the second browser of each of the one ormore additional wagering game machines.
 9. The wagering game machine ofclaim 8, wherein the event management unit is further configured to:detect a trigger event associated with the first portion of the singleinstance of the bonus game being presented in the second browser of thefirst wagering game machine; and in response to said detecting thetrigger event associated with the first portion of the single instanceof the bonus game, provide a bonus event notification message to thesecond browser of the first wagering game machine and to the secondbrowser of the one or more additional wagering game machines via thesecond communication channel to cause the first wagering game machine tomodify the presentation of the first portion of the single instance ofthe bonus game and cause each of the one or more additional wageringgame machines to determine whether to modify the presentation of eachcorresponding different portion of the single instance of the bonusgame.
 10. The wagering game machine of claim 9, wherein said causingeach of the one or more additional wagering game machines to determinewhether to modify the presentation of each corresponding differentportion of the single instance of the bonus game comprises causing eachof the one or more additional wagering game machines to determinewhether to modify the presentation of each corresponding differentportion of the single instance of the bonus game based, at least inpart, on a position of each of the one or more additional wagering gamemachines within a bank of wagering game machines that comprises thefirst wagering game machine and the one or more additional wagering gamemachines.
 11. The wagering game machine of claim 8, wherein the eventmanagement unit is further configured to determine whether intermediateresults are available to determine a type of bonus game media to presentacross the second browser of the first wagering game machine and thesecond browser of the one or more additional wagering game machines. 12.An apparatus for managing communications between a plurality of wageringgame machines in a network to coordinate presentation of media between aplurality of browsers of the plurality of wagering game machines, theapparatus comprising: means for detecting subscription requests for acommunication channel from a plurality of browsers of a plurality ofwagering game machines; means for granting the subscription requests forthe communication channel; means for detecting a game event triggernotification message from one of the plurality of browsers of a firstwagering game machine of the plurality of wagering game machines; andmeans for broadcasting the game event trigger notification messagereceived from the first wagering game machine to the plurality ofbrowsers of the plurality of wagering game machines to coordinate amedia presentation of game-related content in at least one of thebrowsers of each of the plurality of wagering game machines.
 13. Theapparatus of claim 12, wherein said means for granting the subscriptionrequests for the communication channel comprises means for subscribingthe plurality of browsers of the plurality of wagering game machines toa remote shared object to establish the communication channel for thebrowsers of the wagering game machines.
 14. The apparatus of claim 12,wherein said means for broadcasting the game event trigger notificationmessage received from the first wagering game machine to the pluralityof browsers of the plurality of wagering game machines to coordinate amedia presentation of game-related content in at least one of thebrowsers of each of the plurality of wagering game machines comprisesmeans for broadcasting the game event trigger notification messagereceived from the first wagering game machine to the plurality ofbrowsers of the plurality of wagering game machines to coordinate amedia presentation of a single instance of a bonus game across one ormore of the browsers of each of the plurality of wagering game machines.15. The apparatus of claim 12, further comprising: means for detecting agame event trigger notification message from one of the plurality ofbrowsers of a second wagering game machine of the plurality of wageringgame machines; and means for broadcasting the game event triggernotification message received from the second wagering game machine tothe plurality of browsers of the plurality of wagering game machines tocoordinate a media presentation of game-related content, associated withthe game event trigger notification message received from the secondwagering game machine, in at least one of the browsers of each of theplurality of wagering game machines.
 16. A computer-implemented methodfor coordinating presentation of media in a plurality of browsers of aplurality of wagering game machines of a communications network, themethod comprising: subscribing a first browser and a second browser of afirst wagering game machine to a communication channel also subscribedto by a first browser and a second browser of one or more additionalwagering game machines, the communication channel being managed by aserver of the communications network; presenting media for a wageringgame in the first browser of the first wagering game machine;determining game results associated with the wagering game beingpresented in the first browser of the first wagering game machine;determining that the game results associated with the wagering gametrigger a media presentation of game-related content in the secondbrowser of the first wagering game machine and the second browser of theone or more additional wagering game machines; and providing a triggernotification message to the second browser of the first wagering gamemachine and the second browser of the one or more additional wageringgame machines via the communication channel to cause the second browserof the first wagering game machine and the second browser of the one ormore additional wagering game machines to present media for thegame-related content.
 17. The method of claim 16, wherein saidsubscribing the first and second browsers of the first wagering gamemachine to the communication channel comprises subscribing the first andsecond browsers of the first wagering game machine to a remote sharedobject of the server also subscribed to by the first and second browsersof the one or more additional wagering game machines to establish thecommunication channel for the first and second browsers of the firstwagering game machine and the first and second browsers of the one ormore additional wagering game machines.
 18. The method of claim 16,wherein said providing the trigger notification message to the secondbrowser of the first wagering game machine and the second browser of theone or more additional wagering game machines via the communicationchannel causes the second browser of the first wagering game machine topresent an instance of a bonus game and causes the second browser ofeach of the one or more additional wagering game machines to presentanother instance of the bonus game.
 19. The method of claim 16, whereinsaid providing the trigger notification message to the second browser ofthe first wagering game machine and the second browser of the one ormore additional wagering game machines via the communication channelcauses the second browser of the first wagering game machine and thesecond browser of the one or more additional wagering game machines topresent a single instance of a bonus game across the second browser ofthe first wagering game machine and the second browser of each of theone or more additional wagering game machines.
 20. The method of claim19, further comprising: detecting a notification message received fromthe server of the communications network notifying the second browser ofthe first wagering game machine of the trigger notification message; andpresenting a portion of the single instance of the bonus game in thesecond browser of the first wagering game machine, wherein a remainingportion of the single instance of the bonus game is presented across thesecond browsers of the one or more additional wagering game machines.21. The method of claim 16, wherein said providing the triggernotification message to the second browser of the first wagering gamemachine and the second browser of the one or more additional wageringgame machines via the communication channel causes the second browser ofthe first wagering game machine to present a progressive jackpotcelebration and causes the second browser of each of the one or moreadditional wagering game machines to present a different type ofprogressive jackpot celebration.
 22. One or more machine-readablestorage media, having instructions stored therein, which, when executedby one or more processors causes the one or more processors to performoperations that comprise: subscribing a first browser and a secondbrowser of a wagering game machine to a remote shared object managed bya server of a communication network to establish a communication channelfor the first and second browsers of the wagering game machine;presenting media for a wagering game in the first browser of thewagering game machine; determining game results associated with thewagering game based on information received from the server; presentingmedia for the game results in the first browser of the wagering gamemachine; determining that the game results associated with the wageringgame being presented on the first browser of the wagering game machinetrigger a bonus game in the second browser of the wagering game machine;and providing a bonus trigger notification message to the second browserof the wagering game machine via the communication channel to cause thesecond browser of the wagering game machine to present media for thebonus game.
 23. The machine-readable storage media of claim 22, whereinsaid operation of subscribing the first browser and the second browserof the wagering game machine to the remote shared object comprisessubscribing a first browser application, including a first browserplug-in, used to present media in a first display device of the wageringgame machine to the remote shared object, and subscribing a secondbrowser application, including a second browser plug-in, used to presentmedia in a second display device of the wagering game machine to theremote shared object.
 24. The machine-readable storage media of claim22, wherein said operation of providing the bonus trigger notificationmessage to the second browser of the wagering game machine comprisescalling the remote shared object of the server to cause the server tobroadcast the bonus game trigger notification message to the secondbrowser via the communication channel and the second browser to presentmedia for the bonus game.
 25. The machine-readable storage media ofclaim 22, wherein the operations further comprise detecting a playerinput to initiate the wagering game in the first browser of the wageringgame machine, and presenting media for the wagering game in the firstbrowser in response to detecting the player input to initiate thewagering game.